package com.techopropio.bfh.controller;


import com.techopropio.bfh.model.JefeFamilia;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.techopropio.bfh.model.Usuario;
import com.techopropio.bfh.persistence.UsuarioDao;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * Servlet implementation class LoginController
 */
public class LoginController extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private Usuario usuario;
       
    /**
     * @see HttpServlet#HttpServlet()
     */

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try {
            // TODO Auto-generated method stub
            String login= request.getParameter("loginName");
            String password= request.getParameter("password");
            
            UsuarioDao usuarioDAO = new UsuarioDao();
            Usuario usuario = (Usuario) usuarioDAO.findUsuario(login, password);
            
            if(usuario==null){
                request.setAttribute("mensaje", "Usuario o password incorrecto");
                getServletConfig().getServletContext().getRequestDispatcher("/index.jsp").forward(request,response);
            }else{
                HttpSession session = request.getSession();
                if(usuario.getRol().equals("jefeFamilia")){
                    //buscar el jefe de familia
                    session.setAttribute("loginName", usuario.getLoginName());
                    session.setAttribute("nombresUsuario", usuario.getNombres());
                    session.setAttribute("apellidosUsuario", usuario.getApellidos());
                    session.setAttribute("dni", usuario.getDNI());
                    System.out.println("aca");
                    getServletConfig().getServletContext().getRequestDispatcher("/beneficiario1.jsp").forward(request,response);
                }else if(usuario.getRol().equals("evaluador")) {
                    //buscar el evaluador
                    
                    session.setAttribute("loginName", usuario.getLoginName());
                    session.setAttribute("nombresUsuario", usuario.getNombres());
                    session.setAttribute("apellidosUsuario", usuario.getApellidos());
                    session.setAttribute("dni", usuario.getDNI());
                    System.out.println("aca");
                    getServletConfig().getServletContext().getRequestDispatcher("/asesor1.jsp").forward(request,response);
                }
            }
        } catch (SQLException ex) {
            Logger.getLogger(LoginController.class.getName()).log(Level.SEVERE, null, ex);
        }
	}

}
